package com.yeskery.nut.extend.mcp.server;

import com.yeskery.nut.extend.mcp.core.schema.InitializeSchema;
import com.yeskery.nut.http.SseEmitter;

/**
 * Mcp服务会话
 * @author sprout
 * 2025-04-17 15:09
 */
public class McpServerSession {

    /** SSE响应处理器 */
    private SseEmitter sseEmitter;

    /** 是否已经初始化 */
    private boolean initialized = false;

    /** 客户端信息 */
    private InitializeSchema.Request client;

    /**
     * 获取SSE响应处理器
     * @return SSE响应处理器
     */
    public SseEmitter getSseEmitter() {
        return sseEmitter;
    }

    /**
     * 设置SSE响应处理器
     * @param sseEmitter SSE响应处理器
     */
    public void setSseEmitter(SseEmitter sseEmitter) {
        this.sseEmitter = sseEmitter;
    }

    /**
     * 获取客户端信息
     * @return 客户端信息
     */
    public InitializeSchema.Request getClient() {
        return client;
    }

    /**
     * 设置客户端信息
     * @param client 客户端信息
     */
    public void setClient(InitializeSchema.Request client) {
        this.client = client;
    }

    /**
     * 是否已经初始化
     * @return 是否已经初始化
     */
    public boolean isInitialized() {
        return initialized;
    }

    /**
     * 设置是否已经初始化
     * @param initialized 是否已经初始化
     */
    public void setInitialized(boolean initialized) {
        this.initialized = initialized;
    }
}
